﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using iLangl.BusinessModel.Managers;

namespace iLangl.BusinessModel.DAL.XMLStorage
{
	public class XMLDALFacade : IDALFacade
	{
		#region IDALFacade Members

		private ICompanyDAL companyDAL = null;
		public ICompanyDAL CompanyDAL
		{
			get
			{

				if (companyDAL == null)
				{
					companyDAL = new CompanyDAL();
				}

				return companyDAL;
			}
		}

		private IContactDAL contactDAL = null;
		public IContactDAL ContactDAL
		{
			get
			{

				if (contactDAL == null)
				{
					contactDAL = new ContactDAL();

				}

				return contactDAL;
			}
		}

		private ILanguageDAL languageDAL = null;
		public ILanguageDAL LanguageDAL
		{
			get
			{

				if (languageDAL == null)
				{
					languageDAL = new LanguageDAL();
				}

				return languageDAL;
			}
		}

		private IProjectDAL projectDAL = null;
		public IProjectDAL ProjectDAL
		{
			get
			{
				if (projectDAL == null)
				{
					projectDAL = new ProjectDAL();
				}

				return projectDAL;
			}
		}



		private IWorkAreaDAL terminologyDAL = null;
		public IWorkAreaDAL WorkAreaDAL
		{
			get
			{
				if (terminologyDAL == null)
				{
					terminologyDAL = new WorkAreaDAL();
				}

				return terminologyDAL;
			}
		}

		private IProductDAL productDAL = null;
		public IProductDAL ProductDAL
		{
			get
			{
				if (productDAL == null)
				{
					productDAL = new ProductDAL();
				}

				return productDAL;
			}
		}

		private IPluginDAL pluginDAL = null;
		public IPluginDAL PluginDAL
		{
			get
			{
				if (pluginDAL == null)
				{
					pluginDAL = new PluginDAL();
				}

				return pluginDAL;
			}
		}
	

		private IContentDAL contentDAL = null;
		public IContentDAL ContentDAL
		{
			get 
			{
				if (contentDAL == null)
				{
					contentDAL = new ContentDAL();
				}

				return contentDAL;
			}
		}

		private ITranslationDAL translationDAL = null;
		public ITranslationDAL TranslationDAL
		{
			get 
			{
				if (translationDAL == null)
				{
					translationDAL = new TranslationDAL();
				}

				return translationDAL;
			}
		}


		private ITranslationProviderDAL translationProviderDAL = null;
		public ITranslationProviderDAL TranslationProviderDAL
		{
			get
			{
				if (translationProviderDAL == null)
				{
					translationProviderDAL = new TranslationProviderDAL();
				}

				return translationProviderDAL;
			}
		}


		private ISynchronizationDAL synchronizationDAL = null;
		public ISynchronizationDAL SynchronizationDAL
		{
			get 
			{
				if (synchronizationDAL == null)
				{
					synchronizationDAL = new SynchronizationDAL();
				}

				return synchronizationDAL;
			}
		}


		private IAlertDAL alertDAL = null;
		public IAlertDAL AlertDAL
		{
			
				get 
			{
				if (alertDAL == null)
				{
					alertDAL = new AlertDAL();
				}

				return alertDAL;
			}
		}


		private IPackageDAL packageDAL = null;
		public IPackageDAL PackageDAL
		{
			get 
			{
				if (packageDAL == null)
				{
					packageDAL = new PackageDAL();
				}

				return packageDAL;
			}
		}

		#endregion
	}
}